/*
 * Copyright 2007 Xplayat, S.L. All rights reserved.
 * Propiedad de Xplayat. 
 */
package facelets.component;

import org.apache.myfaces.component.html.ext.HtmlDataTable;

import com.sun.facelets.FaceletContext;
import com.sun.facelets.tag.jsf.ComponentConfig;
import com.sun.facelets.tag.jsf.html.HtmlComponentHandler;

/**
 * @author Nacho Estrada <nacho.estrada -at- xplayat.es> (website http://www.xplayat.es)
 *
 */
public class DataTableComponentHandler extends HtmlComponentHandler {
	
	public DataTableComponentHandler(ComponentConfig cfg) {
		super(cfg);
	}
		
	@Override
	public void setAttributes(FaceletContext ctx, Object instance) {
		
		HtmlDataTable table = (HtmlDataTable) instance;
		
		// Redefinicion de las variables
		if ( getAttribute("var") == null )
			table.setVar("rowData");
		if ( getAttribute("rowIndexVar") == null )
			table.setRowIndexVar("index");
		
		// Por defecto renderedIfEmpty="false"
		if ( getAttribute("renderedIfEmpty") == null )
			table.setRenderedIfEmpty(false);
		
		// Redefinicion de estilos por defecto
//		if ( getAttribute("headerClass") == null )
//			table.setHeaderClass("header");
		if ( getAttribute("styleClass") == null )
			table.setStyleClass("results");
		/*if ( getAttribute("cellpadding") == null )
			table.setCellpadding("0");
		if ( getAttribute("cellspacing") == null )
			table.setCellspacing("0"); */
		if ( getAttribute("rules") == null )
			table.setRules("rows");
/*		if ( getAttribute("frame") == null )
			table.setFrame("vsides");
		if ( getAttribute("rowClasses") == null )
			table.setRowClasses("odd, even");*/
		
		super.setAttributes(ctx, instance);
	}
}
